package vj.recursion;

public class GenerateParanthesis {

	static int cnt = 0;

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		generate("", 0, 0, 5);
		System.out.println("Total : " + cnt);
	}

	static void generate(String p, int o, int c, int n) {
		if (o == n && c == n) {
			System.out.println(p);
			cnt++;
			return;
		}
		if (o < n) {
			generate(p + '{', o + 1, c, n);
		}
		if (c < o) {
			generate(p + '}', o, c + 1, n);
		}
	}

}